package Test3_13;

public class Problem12 {
    /**
     * 题目：输入两个正整数m和n，求其最大公约数和最小公倍数。
     * /**在循环中，只要除数不等于0，用较大数除以较小的数，将小的一个数作为下一轮循环的大数，
     * 取得的余数作为下一轮循环的较小的数，如此循环直到较小的数的值为0，返回较大的数，
     * 此数即为最大公约数，最小公倍数为两数之积除以最大公约数。
     */
    public static int greaTest(int m, int n){
        while(n!=0){
            int R=m%n;
            m=n;
            n=R;
        }
        return m;

    }
    public static int leastCommon(int m,int n){
        //两个数相除为0，最大的数为这两个数的最小公倍数，最小的数为它们的最大公约数
        int R=m%n;
        if(m%n==0){
            return m;
        }
        int s=m*n/R;
        return s;
    }


    public static void main(String[] args) {
        System.out.println("最大公约数为："+greaTest(36,12));
        System.out.println("最小公倍数为："+leastCommon(36,12));
    }

}
